/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sigeris;

import sun.security.krb5.internal.NetClient;

/**
 *
 * @author lenin
 */
public class SIGERIS {
    /**
     * @param args the command line arguments
     */
    private SigerisNet snet;
    private String location;
    private String urlnet;
    private int zoom, height, width;
    private String insig="Estructura no requiere Rehabilitación (No es necesario reparación)";
    private String ligero="Estructura requiere Rehabilitación por medio de reparación";
    private String moderado="Estructura require Rehabilitación por medio de reparación y/o refuerzo (Es necesario realizar un inspección y evaluación detallada)";
    private String severo="Estructura require Rehabilitación por medio de refuerzo (Es necesario realizar un inspección y evaluación detallada)";
    private String total="Estructura require Rehabilitación por medio de refuerzo y/o demolición(Es necesario realizar un inspección y evaluación detallada)";
    public SIGERIS(){
        location="Socabaya,+Arequipa,+Peru";
        zoom=14;
        height=450;
        width=470;
        urlnet="proyectos/red_sismo2.xdsl";
        snet=new SigerisNet(urlnet);
    }
    public void setNet(String file){
        urlnet=file;
        snet=new SigerisNet(urlnet);
    }
    public void setEvidence(String node, String value){
        snet.setNetEvidence(node, value);
    }
    public void setLocation(String loc){
        location=loc;
    }
    public void setZoom(int z){
        zoom=z;
    }
    public String getSatelital(){
        return "<IMG src=\"http://maps.google.com/maps/api/staticmap?center="+
                location+"&zoom="+zoom+"&size="+width+"x"+height+"&maptype=satellite&sensor=false\"/>";
    }
    public String getMapa(){
         return "<IMG src=\"http://maps.google.com/maps/api/staticmap?center="+
                location+"&zoom="+zoom+"&size="+width+"x"+height+"&maptype=roadmap&sensor=false\"/>";
    }
    public String getUrlNet(){
        return urlnet;
    }
    public double getValueNode(String node,String query){
        return snet.getValueNode(node, query);
    }
    public String getResultText(){
        return "<h2>Resultado</h2><p>La Probabilidad de riesgo Insignificante</p><p>La Probabilidad de riesgo Ligero</p>"
                + "<p>La Probabilidad de riesgo Moderado</p><p>La Probabilidad de riesgo Severo</p>";
    }
    public void clearAllEvidence(){
        snet.clearAllEvidence();
    }
    public String getEval(String val){
        if(val.equalsIgnoreCase("Insignificante"))return insig;
        if(val.equalsIgnoreCase("Ligero")) return ligero;
        if(val.equalsIgnoreCase("Moderado")) return moderado;
        if(val.equalsIgnoreCase("Severo")) return severo;
        if(val.equalsIgnoreCase("Total")) return total;
        return "";
    }
    public String getTextEval(String val){
        return "<h1>Evaluación</h1>"+snet.getEvidences()+"<b><h2>Conclusión</h2><p text=\"red\">Es mas probable que el riesgo sea "+val 
                +"</p><h2>Contingencia</h2>"+getEval(val)+"</b>";
    }
    public String getEvalFisico(int x, int y){
        x=(x-20)/20;
        y=(y-20)/20;
        String fisico="Fuera del Limite del Distrito";
        String tipoSuelo="",limiteLiquido="",capacidadPortante="",contenidoArcilla="",licuefaccion="",respuestaSuelo=""; 
        if((3<=x&&x<=21)&&(2<=y&&y<=14)){
            fisico="<h3>Evidencia Sobre el Suelo</h3>";
            tipoSuelo="Verde";
            limiteLiquido="Verde";
            capacidadPortante="Verde";
            contenidoArcilla="Verde";
            licuefaccion="Verde";
            respuestaSuelo="Verde";
        }
        if((1<=x&&x<=7)&&(7<=y&&y<=13)){
           fisico="<h3>Evidencia Sobre el Suelo</h3>";
            tipoSuelo="Amarillo";
            limiteLiquido="Amarillo";
            capacidadPortante="Amarillo";
            contenidoArcilla="Amarillo";
            licuefaccion="Amarillo";
            respuestaSuelo="Amarillo";
        }
        if((7<=x&&x<=12)&&(4<=y&&y<=13)){
             fisico="<h3>Evidencia Sobre el Suelo</h3>";
            tipoSuelo="morado";
            limiteLiquido="morado";
            capacidadPortante="morado";
            contenidoArcilla="morado";
            licuefaccion="morado";
            respuestaSuelo="morado";
        }
        return fisico+"<ul><li>Tipo de Suelo: "+tipoSuelo+"</li><li>Limite del Liquido: "+limiteLiquido+"</li>"
                + "<li>Capacidad Portante: "+capacidadPortante+"</li><li>Contenido de Arcilla: "+contenidoArcilla+"</li>"
                + "<li>Licuefaccion: "+licuefaccion+"</li><li>Respuesta del Suelo: "+respuestaSuelo+"</li></ul>";
    }
    public String getEvalSatelital(int x, int y){
        x=(x-20)/20;
        y=(y-20)/20;
        String estructura="Fuera del Limite del Distrito";
        String claseEstructura="",pisoArea="",cimiento="",desplazamiento=""; 
        if((3<=x&&x<=21)&&(2<=y&&y<=14)){
            estructura="<h3>Evidencia Sobre la Estructura</h3>";
            claseEstructura="EV1";
            pisoArea="EV1";
            cimiento="EV1";
            desplazamiento="EV1";
           
        }
        if((1<=x&&x<=7)&&(7<=y&&y<=13)){
            estructura="<h3>Evidencia Sobre la Estructura</h3>";
            claseEstructura="Verde";
            pisoArea="Verde";
            cimiento="EV2";
            desplazamiento="EV4";
        }
        if((7<=x&&x<=12)&&(4<=y&&y<=13)){
            estructura="<h3>Evidencia Sobre la Estructura</h3>";
            claseEstructura="EV3";
            pisoArea="EV3";
            cimiento="EV3";
            desplazamiento="EV3";
        }
        return estructura+"<ul><li>Clase Estructura: "+claseEstructura+"</li><li>Piso Area: "+pisoArea+"</li>"
                + "<li>Cimiento: "+cimiento+"</li><li>Desplazamiento: "+desplazamiento+"</li></ul>";
    }
}
